home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-01 | 7.0 KB | 290 lines | [TEXT/MPS ] |
-
- /*
- * This file was generated by the SOM Compiler.
- * FileName: :SCounter.xih.
- * Generated using:
- * SOM Precompiler somipc: 2.18
- * SOM Emitter emitxih.dll: 2.33
- */
-
- #ifndef SOM_DevUniv_SCounter_xih
- #define SOM_DevUniv_SCounter_xih
-
- #include <somcls.xh>
- #include <somcm.xh>
-
- #ifndef SOM_DevUniv_SCounter_xh
- #include <SCounter.xh>
- #endif
-
- /*
- * Set the scope of methods functions
- */
- #ifndef SOM_Scope
- #define SOM_Scope extern "C"
- #endif
-
- #define DevUniv_SCounter_MaxNoMethods 5
-
- /*
- * -- Instance Data
- */
-
- /*
- * -- Use best possible alignment for instance data slice.
- */
- #if powerc
- # pragma options align=power
- #endif
- typedef struct {
- short value;
- } DevUniv_SCounterData;
- #if powerc
- # pragma options align=reset
- #endif
-
- /*
- * -- Getdata Macro
- */
-
- /*
- * -- This emitter treats Data Tokens as Thunks by default.
- * -- Use the sc modifier "nothunks" to override this default.
- */
- #if !mw_bug
- SOMEXTERN
- #endif
- typedef DevUniv_SCounterData* (* SOMLINK somTD_DevUniv_SCounter_DataThunk)(void*);
- #define DevUniv_SCounterGetData(somSelf) \
- (((somTD_DevUniv_SCounter_DataThunk)(DevUniv_SCounterClassData.instanceDataToken))(somSelf))
-
- /*
- * -- Instance Data Access Macros for use in Method Procedures
- */
- #ifdef VARIABLE_MACROS
- #define _value (somThis->value)
- #endif
-
-
- /*
- * Trace/Debug macro
- */
- #ifndef DevUniv_SCounterMethodDebug
- #define DevUniv_SCounterMethodDebug(c,m) SOMMethodDebug(c,m)
- #endif
-
- /*
- * -- Method Macros for use in Method Procedures
- */
- #ifdef METHOD_MACROS
- #define _somInit somSelf->somInit
- #define _somUninit somSelf->somUninit
- #define _somDuplicateReference somSelf->somDuplicateReference
- #define _somCompareReference somSelf->somCompareReference
- #define _somRelease somSelf->somRelease
- #define _somFree somSelf->somFree
- #define _somCanDelete somSelf->somCanDelete
- #define _somGetClass somSelf->somGetClass
- #define _somGetClassName somSelf->somGetClassName
- #define _somGetSize somSelf->somGetSize
- #define _somIsA somSelf->somIsA
- #define _somRespondsTo somSelf->somRespondsTo
- #define _somIsInstanceOf somSelf->somIsInstanceOf
- #define _somDispatch somSelf->somDispatch
- #define _somClassDispatch somSelf->somClassDispatch
- #define _somCastObj somSelf->somCastObj
- #define _somResetObj somSelf->somResetObj
- #define _somPrintSelf somSelf->somPrintSelf
- #define _somDumpSelf somSelf->somDumpSelf
- #define _somDumpSelfInt somSelf->somDumpSelfInt
- #define _Increment somSelf->Increment
- #define _Decrement somSelf->Decrement
- #define _Square somSelf->Square
- #define __get_value somSelf->_get_value
- #define __set_value somSelf->_set_value
- #endif
-
-
- /*
- * Introduced methods
- */
-
- /* New Method: Increment */
- SOM_Scope void SOMLINK COUNTIncrement(DevUniv_SCounter *somSelf, Environment *ev);
-
- /* New Method: Decrement */
- SOM_Scope void SOMLINK COUNTDecrement(DevUniv_SCounter *somSelf, Environment *ev);
-
- /* New Method: Square */
- SOM_Scope void SOMLINK COUNTSquare(DevUniv_SCounter *somSelf, Environment *ev);
-
- /* New Method: _get_value */
- SOM_Scope short SOMLINK COUNT_get_value(DevUniv_SCounter *somSelf, Environment *ev);
-
- /* New Method: _set_value */
- SOM_Scope void SOMLINK COUNT_set_value(DevUniv_SCounter *somSelf, Environment *ev,
- short value);
-
- /*
- * -- Primary Implementation File Support
- */
- #if (defined(DevUniv_SCounter_Class_Source) || defined(SOM_Module_scounter_Source))
-
- /*
- * -- The DevUniv_SCounter ClassData Structure
- */
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma export list DevUniv_SCounterClassData
- #endif
-
-
- /*
- * -- The DevUniv_SCounter Class Ancestor Table
- */
- static somClassDataStructure * SOMDLINK DevUniv_SCounterClassAncestors [] = {
- (somClassDataStructure*) & SOMObjectClassData, /* parent */
- };
-
-
- static void DevUniv_SCounterDLLD ( void ) { }
-
-
- /*
- * -- The DevUniv_SCounter Static Class Info Master Table
- */
- static somStaticClassInfo DevUniv_SCounterSCI = {
- 70, /* layout version */
- (somClassDataStructure*) & DevUniv_SCounterClassData, /* main token table */
- 0, /* no override procs table */
- DevUniv_SCounterClassAncestors, /* ancestor table */
- DevUniv_SCounterDLLD, /* DLLdesignator */
- 0, /* no special procs */
- 0, /* rtci slot */
- 0, /* count slot */
- 0, /* dynamic ancestry */
- 0, /* free */
- 0, /* free */
- 0, /* free */
- 0, /* free */
-
- /*
- * -- The DevUniv_SCounter Counts Table
- */
- (somStaticClassCounts *)
- "\x00\x00\x00\x01" /* majorversion */
- "\x00\x00\x00\x00" /* minorversion */
- "\x00\x00\x00\x01" /* flags */
- "\x00\x02" /* type code alignment */
- "\x00\x05" /* classTokenCount */
- "\x00\x01" /* numDirectParents */
- "\x00\x00" /* numMetaClasses */
- "\x00\x00" /* numOverriddenAncestors */
- "\x00\x00" /* numMigratedMethods */
- "\x00\x00" /* numSelectedInherited */
- "\x00\x00" /* numUnused */
- "\x00\x00" /* free */
- "\x00\x00" /* free */
- "\x00\x00" /* free */
- "\x00" /* free */
- ,
-
- {
- "DevUniv::SCounter", /* the class name */
- sizeof (DevUniv_SCounterData), /* class instance data size */
-
- /*
- * -- The DevUniv_SCounter Parent Versions Table
- */
- (somParentVersions *)
- "\x00\x00\x00\x46" /* majorversion */
- "\x00\x00\x00\x01" /* minorversion */
- ,
-
-
- /*
- * -- The DevUniv_SCounter Token Slot Usage Table
- */
- (somSlotUsage *)
- "\x00\x00",
-
-
- /*
- * -- The DevUniv_SCounter Method Signature Info
- */
- (somSignatureInfo *)
- "\x02\x07" /* Increment */
- "\x02\x07" /* Decrement */
- "\x02\x03" /* _get_value */
- "\x03\x17\xc3" /* _set_value */
- "\x02\x07" /* Square */
- ,
-
-
- /*
- * -- The DevUniv_SCounter Class Method Names
- */
- "Increment\0"
- "Decrement\0"
- "_get_value\0"
- "_set_value\0"
- "Square\0"
- ,
-
- 0, /* no override data table */
- 0, /* no migrated methods table */
- 0, /* no selected inherited */
- 0, /* unused */
-
- 0, /* free */
- 0, /* free */
- 0, /* free */
- 0, /* free */
- },
- };
-
- /*
- * -- The DevUniv_SCounter ClassData Structure
- */
- struct DevUniv_SCounterClassDataStructure SOMDLINK DevUniv_SCounterClassData = {
- 0, /* zero */
- & DevUniv_SCounterSCI, /* SCI link */
- 0, /* instanceDataToken */
- 0, /* reserved */
- 0, /* reserved */
- 0, /* reserved */
- (somMToken) COUNTIncrement, /* Increment:method */
- (somMToken) COUNTDecrement, /* Decrement:method */
- (somMToken) COUNT_get_value, /* _get_value:method */
- (somMToken) COUNT_set_value, /* _set_value:method */
- (somMToken) COUNTSquare, /* Square:method */
- };
-
-
- /*
- * Functions for attributes.
- */
- SOM_Scope short SOMLINK COUNT_get_value(DevUniv_SCounter *somSelf, Environment *ev){
- DevUniv_SCounterData *somThis = DevUniv_SCounterGetData(somSelf);
- DevUniv_SCounterMethodDebug("DevUniv_SCounter","COUNT_get_value");
- SOM_IgnoreWarning(ev);
-
- return (somThis->value);
- }
- SOM_Scope void SOMLINK COUNT_set_value(DevUniv_SCounter *somSelf, Environment *ev,
- short value){
- DevUniv_SCounterData *somThis = DevUniv_SCounterGetData(somSelf);
- DevUniv_SCounterMethodDebug("DevUniv_SCounter","COUNT_set_value");
- SOM_IgnoreWarning(ev);
-
- somThis->value = value;
- }
-
- /*
- * Macros for initializers/destructors
- */
-
- #endif /* Primary Implementation Support */
-
- #endif /* SOM_DevUniv_SCounter_xih */
-